package com.onesports.intelligent.k12.polarlight.domain.vo.course;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.type.JdbcType;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.onesports.intelligent.k12.polarlight.config.ArrayTypeHandler;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 我的排课表VO
 *
 * @author clw
 * @date 2022-07-12 18:05:32
 */
@Data
@ApiModel(value = "我的排课表VO")
public class MyCourseScheduleVO {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "课表id")
    private String scheduleId;

    @ApiModelProperty(value = "课表名称")
    private String scheduleName;

    @ApiModelProperty(value = "课表明细Id")
    private String courseScheduleDetailId;

    @ApiModelProperty(value = "课表节次总数")
    private Integer totalNum;

    @ApiModelProperty(value = "方式：1按星期  2：按日期")
    private String courseType;

    @TableField(value = "week_code",typeHandler = ArrayTypeHandler.class,jdbcType = JdbcType.ARRAY)
    private String[] weekCode;

    @ApiModelProperty(value = "周期:上课开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startDate;

    @ApiModelProperty(value = "周期:上课结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endDate;

    @ApiModelProperty(value = "节次code")
    private String sectionCode;

    @ApiModelProperty(value = "课程日期")
    private String courseDate;

    @ApiModelProperty(value = "时段:开始时间")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "时段:结束时间")
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "状态1：未拼班  2：待考勤   3：考勤中 4：已考勤  5：作废")
    private String status;

    @ApiModelProperty(value = "课表时段详情关联教练表主键Id")
    private String coachRelId;

    @ApiModelProperty(value = "时段")
    List<PeriodVO> periodList;

    //@ApiModelProperty(value = "可用日期")
    //List<CourseDateVO> everyDayList;

}
